\ comma 05.3.16 NAB

needs core-ext

module comma

public:
char , value thousands-separator

private:

: 3# ( ud -- 0. )
  3 0 do
    #  2dup d0= if  unloop exit  then
  loop  thousands-separator hold ;

: (ud.comma) ( ud -- 0. )
  begin 3# 2dup d0= until ;

public:

: ud.comma ( ud -- )
  <# (ud.comma) #> type space ;

: d.comma ( d -- )
  dup >r
  dabs <# (ud.comma) r> sign #>
  type space ;

: .comma ( n -- )  s>d d.comma ;

end-module